﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

namespace IMCOM.Imagiality.ImageProcessing.Canvas2D.AutoContrast
{
    public abstract class Canvas2DAutoContrastState
    {
        protected AutoContrastImageEventListener controller;
    
        public Canvas2DAutoContrastState(AutoContrastImageEventListener controller)
        {
            this.controller = controller;
        }

        public abstract void MouseDown(object sender, MouseEventArgs e);
        public abstract void MouseUp(object sender, MouseEventArgs e);
        public abstract void MouseMoved(object sender, MouseEventArgs e);
        public abstract void ImagePainted(object sender, PaintEventArgs e);
        protected void SetControllerState(Canvas2DAutoContrastState newState)
        {
            controller.SetAutoContrastState(newState);
        }
    }
}
